This invention relates to a mobile telephone, an interleave parameter calculating apparatus, an interleave parameter calculating method, and an interleave parameter calculating program each of which requires a reduced amount of calculation upon obtaining a base sequence for intra-row permutation in a turbo code interleaver.
In a turbo code interleaver defined in 3GPP (3rd Generation Partnership Project) TS (Technical Specification) 25.212 ver. 3.10.0 as a standard of IMT2000 (International Mobile Telephony 2000) (W-CDMA (Wideband Code Division Multiple Access)), a base sequence S(j) for intra-row permutation is calculated by the use of a prime number p and an associated primitive root v.S(j)=[v×S(j−1)]mod p, j=1, 2, . . . , (p−2), and S(0)=1
The base sequence S(j) is calculated through a process illustrated in FIG. 1.
A turbo code was presented by Berrou et al and is characterized in the following respects.
(1) Concatenated coding in which an information sequence and a rearranged or interleaved information sequence interleaved by the interleaver are individually encoded by component encoders and combined into code words.
(2) Iterative decoding in which decoding is iteratively carried out by the use of a decoding result of the other.
Japanese Patent Application Publication (JP-A) No. 2003-152551 focuses upon interleaving by the interleaver and proposes a method of solving a problem in a mobile communication system, i.e., necessity of a large number of interleave patterns so as to meet a wide variety of interleaving lengths.
In a processor used in a mobile telephone or the like, modulo calculation is often carried out digit by digit in order to reduce a circuit scale. Assuming that a data width is equal to 16 bits, 16 unit steps are required for calculation given by:S(j)=S(j)mod p (step S104).It is assumed that a conditional branch (step S105) requires two unit steps and each of the remaining steps (steps S102 and S103) requires one unit step. Then, in the process illustrated in FIG. 1, 20 unit steps are required in a single loop S(steps S102 to S105).
According to the definition of 3GPP, the prime number p has a maximum value of 257. Therefore, this loop is repeated 255 times at maximum. Therefore, a processing time is disadvantageously increased.
Herein, S(j) is calculated as the base sequence. However, if the number C of columns of the interleaver is equal to p−1, Sm(j) is required instead of S(j).Sm(j)=S(j)−1In this case, another unit step of subtracting 1 from each value of S(j) is required. Consequently, the single loop requires 21 steps.